SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE Procedure [dbo].[SP_TCMOVI_BANC_I08]
/*--------------------------------------------------------*/
/*---Empresa              : OFISIS S.A.					--*/
/*---Cliente              : OFISIS						--*/
/*---Sistema              : Tesoreria					--*/
/*---M©dulo               : Empresa						--*/
/*---Programa             : Extorno Mov. Bancos			--*/
/*---Script               : tcmovi_banc.sql				--*/
/*---Nombre SP            : SP_TCMOVI_BANC_I08			--*/
/*---Desarrollado por     : Carlos Marquez Escobar		--*/
/*---Fecha Creaci©n       : 25/10/2005					--*/
/*---Base Datos           : Microsoft Sql Server		--*/
/*---Versi©n              : 8.00						--*/
/*---Invoca a SP          :								--*/
/*--------------------------------------------------------*/
/*--------------------------------------------------------*/
/*---Modificado 1 por     : 							--*/
/*---Fecha Modificaci©n   : 21/04/2005					--*/
/*---Detalle Modificaci©n : 21/04/2005					--*/
/*--------------------------------------------------------*/
/*--------------------------------------------------------*/
/*---Comentarios										--*/  
/*---													--*/  
/*---													--*/  
/*--------------------------------------------------------*/
/*--------------------------------------------------------*/
/*--- Drop Proc SP_TCMOVI_BANC_I08						--*/  
/*--- Grant all on SP_TCMOVI_BANC_I08 to public			--*/   
/*--- 
Declare 
 @ISCO_EMPR			TD_VC_002,   	 @ISCO_UNID_CNTB	TD_VC_003,   
 @ISCO_USUA_MODI	TD_VC_008_USUA,  @ISCO_BANC			TD_VC_003,   
 @ISNU_CNTA_BANC	TD_VC_020,  	 @ISAA_BNCO			TD_VC_004,   
 @ISMM_BNCO			TD_VC_002,  	 @ISTI_MOVI_BANC	TD_VC_001,    
 @ISNU_COMP_BANC	TD_VC_008,		 @ISCO_MONE			TD_VC_003,
 @INFA_TIPO_CAMB  TD_NU_015_006,	   

 @IDFE_EXTO			TD_DT_001,	 @ISCO_TIPO_OPER	TD_VC_003,	   @ISDE_OBSE			
TD_VC_100

set  @ISCO_EMPR			= '01'
set  @ISCO_UNID_CNTB	= '001'
set  @ISCO_USUA_MODI	= 'XXX'
set  @ISCO_BANC			= 'CRE'
set  @ISNU_CNTA_BANC	= '191-1068808-0-38'
set  @ISAA_BNCO			= '2005'
set  @ISMM_BNCO			= '08'
set  @ISTI_MOVI_BANC	= 'E'
set  @ISNU_COMP_BANC	= '01200072'
set  @ISCO_MONE			= 'SOL'
set  @INFA_TIPO_CAMB  = 3.510

set  @IDFE_EXTO			= Getdate()
set  @ISCO_TIPO_OPER	= '010'
set  @ISDE_OBSE			= 'EXTORNO'


Exec SP_TCMOVI_BANC_I08	@ISCO_EMPR, @ISCO_UNID_CNTB, @ISCO_USUA_MODI, @ISCO_BANC, @ISNU_CNTA_BANC, @ISAA_BNCO, @ISMM_BNCO, 
@ISTI_MOVI_BANC, @ISNU_COMP_BANC, @ISCO_MONE, @INFA_TIPO_CAMB, @IDFE_EXTO, @ISCO_TIPO_OPER, @ISDE_OBSE 	--*/  
/*--------------------------------------------------------*/
 @ISCO_EMPR			TD_VC_002,   
 @ISCO_UNID_CNTB	TD_VC_003,   
 @ISCO_USUA_MODI	TD_VC_008_USUA,  
 @ISCO_BANC			TD_VC_003,   
 @ISNU_CNTA_BANC	TD_VC_020,  
 @ISAA_BNCO			TD_VC_004,   
 @ISMM_BNCO			TD_VC_002,   
 @ISTI_MOVI_BANC	TD_VC_001,    
 @ISNU_COMP_BANC	TD_VC_008,
 @ISCO_MONE			TD_VC_003,
 @INFA_TIPO_CAMB  TD_NU_015_006,    

 @IDFE_EXTO			TD_DT_001,	
 @ISCO_TIPO_OPER	TD_VC_003,	  
 @ISDE_OBSE			TD_VC_100
As
Declare   
	@VSAA_BNCO_EXTO	TD_VC_004,
	@VSMM_BNCO_EXTO	TD_VC_002,

	@VSST_INTE_BACH	TD_VC_001,
	@VSTI_OPNI_CARG	TD_VC_003,
	@VSTI_OPNI_ABON	TD_VC_003,
	@VSST_ASTO_RESU	TD_VC_001,

	@OSNU_COMP_BANC	TD_VC_008,
	@VSTI_MOVI_EXTO	TD_VC_001,
	@OSTI_DOCU_CHEQ	TD_VC_003,
	@OSTI_DOCU_RETE	TD_VC_003,
	@VSCO_TIAU_CLIE	TD_VC_001,
	@VSCO_TIAU_PROV	TD_VC_001,

	@VNNU_REGI		TD_IN_001,
	@INUL_CORR_INGR	TD_IN_001,
	@INUL_CORR_INEG	TD_IN_001,
	@VNCO_NUEV_NUME	TD_IN_001,
	@VSTI_CORR_INEG	TD_VC_001,
	@VSCO_NUEV_CHAR	TD_VC_008,
	@VNIM_CONV_DOCU	TD_NU_016_004,
	@VSCO_ESTA_ANTE	TD_VC_003,

	@CNNU_SECU		TD_IN_001,
	@CSTI_MOVI_OPER	TD_VC_001,
	@CSCO_CNTA_EMPR	TD_VC_020,
	@CSCO_ORDE_SERV	TD_VC_020,
	@CSNU_CORR_COMP	TD_VC_020,
	@CSTI_ENTI		TD_VC_001,
	@CSCO_ENTI		TD_VC_020,
	@CSTI_DOCU_ENTI	TD_VC_003,
	@CSNU_DOCU_ENTI	TD_VC_020,
	@CSCO_MONE_DOCU	TD_VC_003,
	@CDFE_DOCU		TD_DT_001,
	@CNIM_DOCU		TD_NU_016_004,
	@CNIM_SALD_DOCU	TD_NU_016_004,
	@CNIM_SALD_CONV	TD_NU_016_004,
	@CNIM_DETA		TD_NU_016_004,
	@CNIM_DETA_NEGA	TD_NU_016_004,
	@CNIM_CONV_DOCU	TD_NU_016_004,
	@CSDE_OBSE		TD_VC_100,
	@CSST_CIER_DOCU	TD_VC_001_SINO,
	@CSCO_LIQU		TD_VC_020,
	@CSNU_RECI_COBR	TD_VC_010,
	@CDFE_RECI_COBR	TD_DT_001,
	@CDFE_VENC		TD_DT_001,
	@CNNU_SECU_PRPA	TD_IN_001,
	@CDFE_PROG		TD_DT_001,
	@CDFE_EMIS		TD_DT_001,
	@CNFA_CAM1_EMIS	TD_NU_015_006,
	@CNFA_CAM2_EMIS	TD_NU_015_006,
	@CNIM_DETR_CALC	TD_NU_016_004



Begin Tran SP_TCMOVI_BANC_I08

	--- AÏo y mes de la nueva operaci½n  ---
	Select	@VSAA_BNCO_EXTO = Convert( Varchar(04), Year(@IDFE_EXTO)),
			@VSMM_BNCO_EXTO = RTrim(LTrim(Convert( Varchar(02),Month(@IDFE_EXTO))))

	Select	@VSAA_BNCO_EXTO = @VSAA_BNCO_EXTO,
			@VSMM_BNCO_EXTO = Replicate('0', 2 - Len(@VSMM_BNCO_EXTO)) + @VSMM_BNCO_EXTO

	--- Tipo de operaci½n de Extorno ---
	Select 	@VSTI_MOVI_EXTO =
				Case @ISTI_MOVI_BANC
					When 'I' Then 'E'
					Else 'I'
				End

	--- Selecciona Tipo de Documento Cheque ---
	Exec SP_TTDOCU_CNTB_Q02 6, @OSTI_DOCU_CHEQ  OUTPUT      
	--- Selecciona Tipo de Documento Retenci½n ---
	Exec SP_TTDOCU_CNTB_Q01 21, @OSTI_DOCU_RETE OUTPUT

	--- Inserta en la cabecera de bancos ---
	Select	@VSST_INTE_BACH = ST_INTE_BACH,  
			@VSTI_OPNI_CARG = CO_TIPO_OPEG,
			@VSTI_OPNI_ABON = CO_TIPO_OPER,
			@VSCO_TIAU_CLIE = CO_TIAU_CLIE,
			@VSCO_TIAU_PROV = CO_TIAU_PROV
	From	TMPARA_TESO 
	Where CO_EMPR = @ISCO_EMPR  
	
	--- Verifica si se genera asientos Resumidos ---
	Select @VSST_ASTO_RESU = Max(IsNull( t1.ST_ASTO_RESU, 'S'))      
	From   	TMOPRC_RESU t1 , TDTIPO_OPER t2      
	Where  t2.CO_EMPR = @ISCO_EMPR And      
	t2.CO_TIPO_OPER = @ISCO_TIPO_OPER And      
	t1.CO_EMPR = t2.CO_EMPR And      
	t1.CO_OPRC_CNTB = t2.CO_OPRC_CNTB   



	--- Fin de la Validacion de Asientos Resumidos e Interfase en Bach ----
    If	@VSST_INTE_BACH = 'N' AND @VSST_ASTO_RESU = 'N' AND 
		@ISCO_TIPO_OPER != @VSTI_OPNI_CARG AND @ISCO_TIPO_OPER != @VSTI_OPNI_ABON
		Execute SP_TTULTI_ASTO_Q01 @ISCO_EMPR, @ISCO_USUA_MODI, @ISCO_UNID_CNTB, @ISCO_TIPO_OPER, @IDFE_EXTO, 
@OSNU_COMP_BANC OUTPUT  
	
	Else  
	Begin  
		Select  @VNNU_REGI = Count(*)   
		From  TCMOVI_BANC  
		Where CO_EMPR = @ISCO_EMPR   
        And CO_UNID_CONC = @ISCO_UNID_CNTB
		And CO_BANC = @ISCO_BANC   
		And NU_CNTA_BANC = @ISNU_CNTA_BANC   
		And AA_BNCO = @VSAA_BNCO_EXTO
		And MM_BNCO = @VSAA_BNCO_EXTO
		And TI_MOVI_BANC = @VSTI_MOVI_EXTO
	
		If @VNNU_REGI > 0 OR RTRIM(ISNULL(@ISNU_COMP_BANC, '')) = ''  
		Begin           
			Select  @VSCO_NUEV_CHAR = ISNULL(MAX(NU_COMP_BANC), '0')  
			From    TCMOVI_BANC   
			Where   CO_EMPR = @ISCO_EMPR   
            And CO_UNID_CONC = @ISCO_UNID_CNTB
			And CO_BANC = @ISCO_BANC   
			And NU_CNTA_BANC = @ISNU_CNTA_BANC   
			And AA_BNCO = @VSAA_BNCO_EXTO
			And MM_BNCO = @VSMM_BNCO_EXTO
			And TI_MOVI_BANC = @VSTI_MOVI_EXTO
			And NU_COMP_BANC LIKE '000%'  
		
			Select @VNCO_NUEV_NUME = Convert(Int , @VSCO_NUEV_CHAR) + 1  
			
			Select @VSCO_NUEV_CHAR = Convert(Char(8) , @VNCO_NUEV_NUME)  
	
			-- RELLENA DE CEROS HASTA 8 CARACTERES   
			Select @VSCO_NUEV_CHAR = ISNULL(REPLICATE('0',8- DATALENGTH(LTRIM(RTRIM(@VSCO_NUEV_CHAR)))),'') 
+LTRIM(RTRIM(@VSCO_NUEV_CHAR))            
			
			Select @OSNU_COMP_BANC = @VSCO_NUEV_CHAR   
		End  
	End  

	
	Insert Into TCMOVI_BANC(  
		CO_EMPR, CO_BANC, NU_CNTA_BANC, AA_BNCO, MM_BNCO, TI_MOVI_BANC, NU_COMP_BANC,   
		FE_OPER, CO_TIPO_OPER, CO_SUBR, CO_TIPO_DOCU, NU_DOCU_BANC, FA_TIPO_CAMB, CO_BANC_CHEQ, NU_CHEQ,  
		IM_MOVI, FE_CHEQ,  FE_DISP, FE_ENTR_CHEQ, FE_PROG_CHEQ, TI_ENTI, CO_ENTI, DE_NOMB_ORDE,   
		SI_SOLO_BANC, SI_OPER_CONC, AA_CONC, MM_CONC, DE_OBSE, ST_CONT, NU_PROC, TI_SITU,  
		CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI, CO_ENTR_REND, CO_UNID_CONC, NU_RECI_COBR, 
FE_RECI_COBR, FE_DIFE, CO_GRUP_CONC,  
		NU_SOLI)  
	Select	CO_EMPR, CO_BANC, NU_CNTA_BANC, @VSAA_BNCO_EXTO, @VSMM_BNCO_EXTO, @VSTI_MOVI_EXTO, @OSNU_COMP_BANC,   
		@IDFE_EXTO, @ISCO_TIPO_OPER, Null, CO_TIPO_DOCU, NU_DOCU_BANC, FA_TIPO_CAMB, CO_BANC_CHEQ, NU_CHEQ,  
		IM_MOVI, FE_CHEQ,  FE_DISP, FE_ENTR_CHEQ, FE_PROG_CHEQ, TI_ENTI, CO_ENTI, DE_NOMB_ORDE,   
		SI_SOLO_BANC, SI_OPER_CONC, AA_CONC, MM_CONC, @ISDE_OBSE, 'N' ST_CONT, NU_PROC, TI_SITU,  
		@ISCO_USUA_MODI, GETDATE(), @ISCO_USUA_MODI, GETDATE(), 
		CO_ENTR_REND, CO_UNID_CONC, NU_RECI_COBR, FE_RECI_COBR, FE_DIFE, CO_GRUP_CONC,  
		NU_SOLI
	From	TCMOVI_BANC
	Where   CO_EMPR = @ISCO_EMPR
        And CO_UNID_CONC = @ISCO_UNID_CNTB
		And CO_BANC = @ISCO_BANC
		And NU_CNTA_BANC = @ISNU_CNTA_BANC
		And AA_BNCO = @ISAA_BNCO
		And MM_BNCO = @ISMM_BNCO
		And TI_MOVI_BANC = @ISTI_MOVI_BANC
		And NU_COMP_BANC = @ISNU_COMP_BANC

	If @@error <> 0  
	Begin  
		Rollback tran SP_TCMOVI_BANC_I08
		Return  
	End      
	
	
	/* ----------- Actualiza los Correlativos ------------------ */  
	If	@VSST_INTE_BACH = 'S' OR @VSST_ASTO_RESU = 'S' OR   
		@ISCO_TIPO_OPER = @VSTI_OPNI_CARG OR @ISCO_TIPO_OPER = @VSTI_OPNI_ABON  
	Begin      
		If @VSTI_CORR_INEG = 'N'  
		Begin  
			Select @INUL_CORR_INGR = UL_CORR_INGR   
			From   TMSABA_MENS  
			Where   CO_EMPR = @ISCO_EMPR   
			And CO_BANC = @ISCO_BANC   
			And NU_CNTA_BANC = @ISNU_CNTA_BANC   
			And AA_BNCO = @VSAA_BNCO_EXTO
			And MM_BNCO = @VSMM_BNCO_EXTO

	
			Update TMSABA_MENS  
			Set		UL_CORR_INGR = @INUL_CORR_INGR + 1,   
					CO_USUA_MODI = @ISCO_USUA_MODI,   
					FE_USUA_MODI = GETDATE()  
			Where   CO_EMPR = @ISCO_EMPR   
				And CO_BANC = @ISCO_BANC   
				And NU_CNTA_BANC = @ISNU_CNTA_BANC   
				And AA_BNCO = @VSAA_BNCO_EXTO
				And MM_BNCO = @VSMM_BNCO_EXTO
			
			If @@error <> 0  
			Begin  
				Rollback tran SP_TCMOVI_BANC_I08
				Return  
			End  
		End  
		Else  
		Begin  
			Select @INUL_CORR_INEG = UL_CORR_INEG   
			From   TMSABA_MENS  
			WHERE  CO_EMPR = @ISCO_EMPR    
			And CO_BANC = @ISCO_BANC   
			And NU_CNTA_BANC = @ISNU_CNTA_BANC   
			And AA_BNCO = @ISAA_BNCO   
			And MM_BNCO = @ISMM_BNCO   
			
			Update TMSABA_MENS  
			Set    UL_CORR_INEG = @INUL_CORR_INEG + 1,   
			CO_USUA_MODI = @ISCO_USUA_MODI,   
			FE_USUA_MODI = GETDATE()  
			Where  CO_EMPR = @ISCO_EMPR   
			And CO_BANC = @ISCO_BANC   
			And NU_CNTA_BANC = @ISNU_CNTA_BANC   
			And AA_BNCO = @ISAA_BNCO   
			And MM_BNCO = @ISMM_BNCO  
			
			If @@error <> 0  
			Begin  
				Rollback tran SP_TCMOVI_BANC_I08
				Return  
			End  
		End  --If @ISTI_CORR_INEG = 'N'  

	End   --@VSST_INTE_BACH = 'S' OR @ISST_ASTO_RESU = 'S' OR  @ISCO_TIPO_OPER = @VSTI_OPNI_CARG OR @ISCO_TIPO_OPER = @VSTI_OPNI_ABON  

	--- Graba en la Tabla de Relaci½n ---
	Insert Into TRBANC_EXTO
	(CO_EMPR, CO_BANC, NU_CNTA_BANC, AA_BNCO, MM_BNCO, TI_MOVI_BANC, NU_COMP_BANC,
	TI_MOVI_EXTO, NU_COMP_EXTO, CO_TIPO_OPER, FE_ANUL,
	CO_USUA_CREA, FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI)
	Values (@ISCO_EMPR, @ISCO_BANC, @ISNU_CNTA_BANC, @ISAA_BNCO, @ISMM_BNCO, @ISTI_MOVI_BANC, @ISNU_COMP_BANC,
	@VSTI_MOVI_EXTO, @OSNU_COMP_BANC, @ISCO_TIPO_OPER, @IDFE_EXTO,
	@ISCO_USUA_MODI, GETDATE(), @ISCO_USUA_MODI, GETDATE() )
	If @@error <> 0  
	Begin  
		Rollback tran SP_TCMOVI_BANC_I08
		Return  
	End  


	--- Graba D E T A L L E ---
	Declare CU_TCMOVI_BANC_I08_1 Cursor For  
	Select  NU_SECU, TI_MOVI_OPER, CO_CNTA_EMPR, CO_ORDE_SERV, 
			NU_CORR_COMP, TI_ENTI, CO_ENTI, TI_DOCU_ENTI, NU_DOCU_ENTI,
			CO_MONE_DOCU, FE_DOCU, IM_DOCU, IM_SALD_DOCU, IM_SALD_CONV,
			IM_DETA, IM_DETA_NEGA, IM_CONV_DOCU, DE_OBSE, ST_CIER_DOCU,
			CO_LIQU, NU_RECI_COBR, FE_RECI_COBR, FE_VENC, NU_SECU_PRPA,
			FE_PROG, FE_EMIS, FA_CAM1_EMIS, FA_CAM2_EMIS, IM_DETR_CALC
	From	TDMOVI_BANC
	Where   CO_EMPR = @ISCO_EMPR
        And CO_UNID_CONC = @ISCO_UNID_CNTB
		And CO_BANC = @ISCO_BANC
		And NU_CNTA_BANC = @ISNU_CNTA_BANC
		And AA_BNCO = @ISAA_BNCO
		And MM_BNCO = @ISMM_BNCO
		And TI_MOVI_BANC = @ISTI_MOVI_BANC
		And NU_COMP_BANC = @ISNU_COMP_BANC
	Order by NU_SECU     

    --- Abre Cursor de Interfase - Detalle ---
	Open CU_TCMOVI_BANC_I08_1
	
    --- Lee cursos de Interfase - Detalle ---
	Fetch	CU_TCMOVI_BANC_I08_1 
	Into	@CNNU_SECU, @CSTI_MOVI_OPER, @CSCO_CNTA_EMPR, @CSCO_ORDE_SERV,
			@CSNU_CORR_COMP, @CSTI_ENTI, @CSCO_ENTI, @CSTI_DOCU_ENTI, @CSNU_DOCU_ENTI,
			@CSCO_MONE_DOCU, @CDFE_DOCU, @CNIM_DOCU, @CNIM_SALD_DOCU, @CNIM_SALD_CONV,
			@CNIM_DETA, @CNIM_DETA_NEGA, @CNIM_CONV_DOCU, @CSDE_OBSE, @CSST_CIER_DOCU,
			@CSCO_LIQU, @CSNU_RECI_COBR, @CDFE_RECI_COBR, @CDFE_VENC, @CNNU_SECU_PRPA,
			@CDFE_PROG, @CDFE_EMIS, @CNFA_CAM1_EMIS, @CNFA_CAM2_EMIS, @CNIM_DETR_CALC

	While (@@FETCH_STATUS = 0)  
	Begin

		IF (@@FETCH_STATUS  < 0)      
		BEGIN      
			CLOSE CU_TCMOVI_BANC_I08_1      
			DEALLOCATE CU_TCMOVI_BANC_I08_1      
			Rollback tran SP_TCMOVI_BANC_I08
			RETURN
		END    
  
		If @CSST_CIER_DOCU = 'N'
			Select  @CNIM_CONV_DOCU = @CNIM_CONV_DOCU * -1.00
		Else
			Select  @CNIM_SALD_DOCU = @CNIM_SALD_DOCU * -1.00

		Insert TDMOVI_BANC 
		(	CO_EMPR, CO_BANC, NU_CNTA_BANC, AA_BNCO, MM_BNCO, TI_MOVI_BANC, NU_COMP_BANC, 
			NU_SECU, TI_MOVI_OPER, CO_CNTA_EMPR, CO_ORDE_SERV, 
			NU_CORR_COMP, TI_ENTI, CO_ENTI, TI_DOCU_ENTI, NU_DOCU_ENTI,
			CO_MONE_DOCU, FE_DOCU, IM_DOCU, IM_SALD_DOCU, IM_SALD_CONV,
			IM_DETA, IM_DETA_NEGA, IM_CONV_DOCU, DE_OBSE, ST_CIER_DOCU,
			CO_LIQU, NU_RECI_COBR, FE_RECI_COBR, FE_VENC, NU_SECU_PRPA,
			FE_PROG, FE_EMIS, FA_CAM1_EMIS, FA_CAM2_EMIS, IM_DETR_CALC, CO_UNID_CONC )
		Values 
		(	@ISCO_EMPR, @ISCO_BANC, @ISNU_CNTA_BANC, @VSAA_BNCO_EXTO, @VSMM_BNCO_EXTO, @VSTI_MOVI_EXTO, 
@OSNU_COMP_BANC,
			@CNNU_SECU, @CSTI_MOVI_OPER, @CSCO_CNTA_EMPR, @CSCO_ORDE_SERV,
			@CSNU_CORR_COMP, @CSTI_ENTI, @CSCO_ENTI, @CSTI_DOCU_ENTI, @CSNU_DOCU_ENTI,
			@CSCO_MONE_DOCU, @CDFE_DOCU, @CNIM_DOCU, @CNIM_SALD_DOCU, @CNIM_SALD_CONV,
			@CNIM_DETA, @CNIM_DETA_NEGA, @CNIM_CONV_DOCU, @CSDE_OBSE, @CSST_CIER_DOCU,
			@CSCO_LIQU, @CSNU_RECI_COBR, @CDFE_RECI_COBR, @CDFE_VENC, @CNNU_SECU_PRPA,
			@CDFE_PROG, @CDFE_EMIS, @CNFA_CAM1_EMIS, @CNFA_CAM2_EMIS, @CNIM_DETR_CALC, @ISCO_UNID_CNTB)
		If @@error <> 0  
		Begin   
			CLOSE CU_TCMOVI_BANC_I08_1      
			DEALLOCATE CU_TCMOVI_BANC_I08_1      
			Rollback tran SP_TCMOVI_BANC_I08
			Return    
		End  


		If Len(RTrim(LTrim(IsNull(@CSCO_CNTA_EMPR,'')))) = 0
		Begin  
			-- Seteo de variable para el procedure que actualiza el documento  
			Select @VNIM_CONV_DOCU = @CNIM_CONV_DOCU * -1  
			
			-- Se busca el estado anterior del documento  
			Exec SP_TTESTA_ORIG_Q01 @ISCO_EMPR, @CSTI_ENTI, @CSCO_ENTI, @CSTI_DOCU_ENTI, @CSNU_DOCU_ENTI, 
@VSCO_ESTA_ANTE output  
			
			If @CSTI_ENTI = @VSCO_TIAU_PROV And @CSTI_DOCU_ENTI = @OSTI_DOCU_RETE  
			Begin  
				Update TMDOCU_PROV   
				Set IM_PAGA = Isnull(IM_PAGA,0) - Round(@CNIM_CONV_DOCU,2), CO_ESTA_DOCU = 'ANU',  
					FE_USUA_MODI = Getdate(), CO_USUA_MODI = @ISCO_USUA_MODI  
				Where CO_EMPR = @ISCO_EMPR   
				And   CO_PROV = @CSCO_ENTI   
				And   CO_TIPO_DOCU = @CSTI_DOCU_ENTI   
				And   NU_DOCU_PROV = @CSNU_DOCU_ENTI  
			
				If @@error <> 0  
				Begin   
					CLOSE CU_TCMOVI_BANC_I08_1      
					DEALLOCATE CU_TCMOVI_BANC_I08_1      
					Rollback tran SP_TCMOVI_BANC_I08
					Return    
				End  
	
				Update TCCOMP_RETE  
				Set TI_SITU = 'ANU',  
				FE_USUA_MODI = Getdate(), CO_USUA_MODI = @ISCO_USUA_MODI  
				Where CO_EMPR = @ISCO_EMPR   
				And   NU_COMP_RETE = @CSNU_DOCU_ENTI  
				
				If @@error <> 0  
				Begin   
					CLOSE CU_TCMOVI_BANC_I08_1      
					DEALLOCATE CU_TCMOVI_BANC_I08_1      
					Rollback tran SP_TCMOVI_BANC_I08
					Return    
				End  
			End  
			Else  
			Begin  
				--Se actualiza el documento y se graba en tabla de kardex de estados de documentos  
				Exec SP_TTACTU_PAGO_Q01 @ISCO_EMPR, @CSTI_ENTI, @CSCO_ENTI, @CSTI_DOCU_ENTI, @CSNU_DOCU_ENTI, 
  
					@VNIM_CONV_DOCU, @VSCO_ESTA_ANTE, @ISCO_USUA_MODI, @CSST_CIER_DOCU  
				If @@error <> 0  
				Begin   
					Close CU_TCMOVI_BANC_D04_1  
					Deallocate CU_TCMOVI_BANC_D04_1  
					Rollback Tran SP_TCMOVI_BANC_D04  
					Return    
				End  
		
			End  
	
		End    


		Fetch	CU_TCMOVI_BANC_I08_1 
		Into	@CNNU_SECU, @CSTI_MOVI_OPER, @CSCO_CNTA_EMPR, @CSCO_ORDE_SERV,
				@CSNU_CORR_COMP, @CSTI_ENTI, @CSCO_ENTI, @CSTI_DOCU_ENTI, @CSNU_DOCU_ENTI,
				@CSCO_MONE_DOCU, @CDFE_DOCU, @CNIM_DOCU, @CNIM_SALD_DOCU, @CNIM_SALD_CONV,
				@CNIM_DETA, @CNIM_DETA_NEGA, @CNIM_CONV_DOCU, @CSDE_OBSE, @CSST_CIER_DOCU,
				@CSCO_LIQU, @CSNU_RECI_COBR, @CDFE_RECI_COBR, @CDFE_VENC, @CNNU_SECU_PRPA,
				@CDFE_PROG, @CDFE_EMIS, @CNFA_CAM1_EMIS, @CNFA_CAM2_EMIS, @CNIM_DETR_CALC
  
	END  

	CLOSE CU_TCMOVI_BANC_I08_1      
	DEALLOCATE CU_TCMOVI_BANC_I08_1      
		
Commit Tran SP_TCMOVI_BANC_I08
/*----------------------- Fin ---------------------------*/


GO
